//
//  MainViewController.swift
//  Weibo
//
//  Created by 杨震 on 15/12/15.
//  Copyright © 2015年 杨震. All rights reserved.
//

import UIKit

class MainViewController: UITabBarController {
    //必选的属性
    let mainTabBar = MainTabBar()
    
    //private func 是 swift中函数的特殊的声明形式,希望swift方法选择器+访问控制关键字 能够兼容 需要使用 @objc
    //@objc private   要保证监听方法的安全型  并且可以响应点击事件的特殊写法
        @objc private func composeBtnDidClick(){
    
        print(__FUNCTION__)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        //tabBar 是只读属性 不能够直接进行复制 可以使用KVC在运行时 间接赋值（改变身份）
        print(tabBar.classForCoder)
        
        mainTabBar.composeBtn.addTarget(self, action: "composeBtnDidClick", forControlEvents: .TouchUpInside)
        setValue(mainTabBar, forKey: "tabBar")
        //classForCoder  对象的类的字符串行事
        print(tabBar.classForCoder)
        //添加姿势图控制器
        addChildViewControllers()

        
    }
    
    //private表示只能在本类中进行访问
    private func addChildViewControllers() {
        
        //HomeTableViewController()需要修改
        
        addChildViewController(HomeTableViewController(), title: "首页", imageName:"tabbar_home")
        addChildViewController(MessageTableViewController(), title: "消息", imageName:"tabbar_message_center")
        addChildViewController(DiscoverTableViewController(), title: "发现", imageName:"tabbar_discover")
        addChildViewController(ProlifeTableViewController(), title: "我", imageName:"tabbar_profile")
        
    }
    private func addChildViewController(vc:UIViewController,title:String,imageName:String) {
        
        
        let nav = UINavigationController(rootViewController: vc)
        vc.title = title
        //设置图片
        vc.tabBarItem.image = UIImage(named: imageName)
//        vc.tabBarItem.selectedImage = UIImage(named: imageName + "_highlighted")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
//        vc.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.orangeColor()], forState: .Selected)
        //在swift中self可以省略
        addChildViewController(nav)
    }
}
